# 导入所需模块
import getdata,myfunc
from baseset import *
from getdata import getdata
from myfunc import xgfx,pplot
import pandas as pd
# 获取数据
fpath ='./data/w_datadic_ru.xlsx'
df = getdata(fpath,freq='day')
# df_sd =getdata(fpath,freq='year')
label1='Wind橡胶指数'
label2='Wind商品指数'
xgfx(df,label1,label2)
label1='Wind橡胶指数'
label2='布油'
xgfx(df,label1,label2)
相关性:绝大多数时间维持在以0.6为底,0.8为中枢的范围内,1998.9-1999.8,2007.6-2008.1,2015.6-2015.10,2017.12-至今处于0.6以下
label1='Wind橡胶指数'
label2='美元指数'
xgfx(df,label1,label2)
label1='Wind橡胶指数'
label2='美元兑人民币(中间价)'
xgfx(df,label1,label2)
label1='Wind橡胶指数'
label2='沪深300'
xgfx(df,label1,label2)
label1='Wind橡胶指数'
label2='道琼斯工业指数'
xgfx(df,label1,label2)
label1='沪胶指数'
label2='日胶指数'
fpath1 ='D:/文华数据导出/日线/橡胶指数.txt'
fpath2 ='D:/文华数据导出/日线/日胶指数.txt'
with open(fpath1, "rb") as f:
df1 = pd.read_table(f,header=None,names=['date',label1],sep=',',index_col=0,usecols=[0,5])
with open(fpath2, "rb") as f:
df2 = pd.read_table(f,header=None,names=['date',label2],sep=',',index_col=0,usecols=[0,5])
# 数据清洗
df0 = pd.concat([df1, df2], axis=1, join='inner')
df0 = df0.dropna(how='any')
df1 = df0[label1]
df2 = df0[label2]
z1 = df1.rolling(window=252).corr(other=df2)
z1 = pd.DataFrame(z1)
# ---叠加图---
pplot(df0)
# ---相关图---
pplot(z1,title='相关系数变化',drop=False)
label1='沪胶1月'
label2='沪胶5月'
label3='沪胶9月'
legend1 = '5月-1月'
legend2 = '9月-5月'
legend3 = '1月-9月'
df1 = df[label2] - df[label1] # 5月-1月
df2 = df[label3] - df[label2] # 9月-5月
df3 = df[label1] - df[label3] # 1月-9月
df1 = pd.DataFrame(df1)
df2 = pd.DataFrame(df2)
df3 = pd.DataFrame(df3)
pplot(df1,title=legend1)
pplot(df2,title=legend2)
pplot(df3,title=legend3)
label1='Wind橡胶指数'
label2='青岛保税区橡胶库存'
xgfx(df,label1,label2,period=12)
label1='Wind橡胶指数'
label2='全钢胎开工率'
xgfx(df,label1,label2,period=24)
# 基本参数设置
label1='沪胶(活跃合约收盘)'
label2='顺丁橡胶(中石化华北)'
label3='丁苯橡胶(中石化华北)'
label4='丁二烯(中石化华北)'
legend = '沪胶-顺丁,沪胶-丁苯,沪胶-丁二烯'
mydf = df[[label1,label2,label3,label4]]
# 叠加图
pplot(mydf)
mydf = mydf.dropna(how='any')
# 相关分析
df1 = mydf[label1]
df2 = mydf[label2]
df3 = mydf[label3]
df4 = mydf[label4]
z1 = df1.rolling(window=252).corr(other=df2)
z2 = df1.rolling(window=252).corr(other=df3)
z3 = df1.rolling(window=252).corr(other=df4)
mydf = pd.concat([z1, z2,z3], axis=1, join='inner')
pplot(mydf,name=legend,dy=False)
# 基本参数设置
label1='沪胶(活跃合约收盘)'
label2='顺丁橡胶(中石化华北)'
label3='丁苯橡胶(中石化华北)'
legend = '沪胶-顺丁,沪胶-丁苯,沪胶'
# 数据清洗
df1 = df[label1] - df[label2]
df2 = df[label1] - df[label3]
df3 = df[label1]
mydf = pd.concat([df1, df2,df3], axis=1, join='inner')
pplot(mydf,name=legend,show_grid=False)